/*

* Copyright (C) 2023, KylinSoft Co., Ltd.

*

* This program is free software; you can redistribute it and/or modify

* it under the terms of the GNU General Public License as published by

* the Free Software Foundation; either version 3, or (at your option)

* any later version.

*

* This program is distributed in the hope that it will be useful,

* but WITHOUT ANY WARRANTY; without even the implied warranty of

* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

* GNU General Public License for more details.

*

* You should have received a copy of the GNU General Public License

* along with this program; if not, see <http://www.gnu.org/licenses/&gt;.

*

*/



#ifndef KYLABLE_H
#define KYLABLE_H

#include <QObject>
#include <QLabel>
#include <QGSettings>

class KyLable : public QLabel
{
    Q_OBJECT
public:
    explicit KyLable(QWidget *parent = nullptr);
    ~KyLable() = default;

protected:
    void paintEvent(QPaintEvent *event);
    void enterEvent(QEvent *event);
    void leaveEvent(QEvent *event);
    void mousePressEvent(QMouseEvent *event);
    void mouseReleaseEvent(QMouseEvent *event);

private:
    QColor m_foregroundColor;
    QGSettings *m_styleSettings;

    void setPressColor();
    void setHoverColor();
    void setNormalColor();
    void onShowControlCenter();

private Q_SLOTS:
    void onPaletteChanged();

};

#endif // KYLABLE_H
